{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

<LinkedBlock
  @params={{array (concat "vault.cluster.secrets.backend." "credentials" (unless @item.id "-root")) @item.id}}
  class="list-item-row"
  data-test-secret-link={{@item.id}}
  @encode={{true}}
>
  <div class="columns is-mobile">
    <div class="column is-10">
      <LinkTo
        @route={{concat "vault.cluster.secrets.backend." "credentials" (unless @item.id "-root")}}
        @model={{@item.id}}
        class="has-text-black has-text-weight-semibold"
      >
        <Icon @name="user" class="has-text-grey-light is-pulled-left" />
        <div class="role-item-details">
          <span class="is-underline">{{if (eq @item.id " ") "(self)" (or @item.keyWithoutParent @item.id)}}</span>
        </div>
      </LinkTo>
    </div>
    <div class="column has-text-right">
      <PopupMenu @name="role-aws-nav" @contentClass="is-wide">
        <nav class="menu">
          <ul class="menu-list">
            {{#if @item.generatePath.isPending}}
              <li class="action">
                <LoadingDropdownOption />
              </li>
            {{else if @item.canGenerate}}
              <li class="action">
                <LinkTo
                  @route="vault.cluster.secrets.backend.credentials"
                  @model={{@item.id}}
                  data-test-role-aws-link="generate"
                >
                  Generate credentials
                </LinkTo>
              </li>
            {{/if}}
            {{#if @item.updatePath.isPending}}
              <li class="action">
                <LoadingDropdownOption />
              </li>
              <li class="action">
                <LoadingDropdownOption />
              </li>
            {{else}}
              {{#if @item.canRead}}
                <li class="action">
                  <LinkTo @route="vault.cluster.secrets.backend.show" @model={{@item.id}} data-test-role-ssh-link="show">
                    Details
                  </LinkTo>
                </li>
              {{/if}}
              {{#if @item.canEdit}}
                <li class="action">
                  <LinkTo @route="vault.cluster.secrets.backend.edit" @model={{@item.id}} data-test-role-ssh-link="edit">
                    Edit
                  </LinkTo>
                </li>
              {{/if}}
              {{#if @item.canDelete}}
                <ConfirmAction
                  @buttonText="Delete"
                  @isInDropdown={{true}}
                  @onConfirmAction={{@delete}}
                  data-test-aws-role-delete={{@item.id}}
                />
              {{/if}}
            {{/if}}
          </ul>
        </nav>
      </PopupMenu>
    </div>
  </div>
</LinkedBlock>